package cn.xinzhi.service.impl;

import cn.xinzhi.dao.IUserInfoDao;
import cn.xinzhi.entity.UserInfo;
import cn.xinzhi.service.IUpdateUserInfoService;
import cn.xinzhi.until.MyBatisUtil;

import java.util.List;

public class UpdateUserInfoServiceImpl implements IUpdateUserInfoService{

    @Override
    public String mendUser(UserInfo ui, List<UserInfo> nowPage) {
        //第一种情况：参数传递空间，可能是某些误操作导致，也可能是前端功能失效
        if (ui == null || nowPage == null) {
            return "{\"msg\":\"参数错误\"}";
        }
        UserInfo nowUi = new UserInfo();
        //第二种情况：信息都未发生变化，直接返回空值，表示什么都不做
        for (UserInfo uo: nowPage) {
            if(uo.getUserid().equals(ui.getUserid())){
                nowUi = uo;
            }
        }
        int count = 0;
        if (ui.getUsername().equals(nowUi.getUsername())){
            ui.setUsername(null);
            count ++;
        }
        if (ui.getUserage().intValue() == nowUi.getUserage().intValue()){
            ui.setUserage(null);
            count ++;
        }
        if (count == 2) {
            return  "{\"msg\":\"\"}";
        }//第三种情况，用户正常修改
        IUserInfoDao mapper = MyBatisUtil.getSqlSession().getMapper(IUserInfoDao.class);
        int updateUser = mapper.updateUser(ui);
        MyBatisUtil.getSqlSession().commit();
        return updateUser > 0 ? "{\"msg\":\"修改成功\"}" : "{\"msg\" :\"修改失败\"}";
    }
}

